using System;
using System.ComponentModel;
using System.Runtime.Serialization;

namespace StarfleetCommanderDomain
{
    public interface IEspionage
    {

        [DataMember()]
        global::System.Int32 EspionageId { get; set; }

    
        [DataMemberAttribute()]
        Nullable<global::System.Byte> ShipYard { get; set; }

      
        [DataMemberAttribute()]
        Nullable<global::System.Byte> Capitol { get; set; }

       
        [DataMemberAttribute()]
        Nullable<global::System.Byte> ResearchLab { get; set; }

       
        [DataMemberAttribute()]
        Nullable<global::System.Byte> MissileSilo { get; set; }

       
        [DataMemberAttribute()]
        Nullable<global::System.Byte> Factory { get; set; }

       
        [DataMemberAttribute()]
        Nullable<global::System.Byte> OreWarehouse { get; set; }

      
        [DataMemberAttribute()]
        Nullable<global::System.Byte> CrystalWarehouse { get; set; }

       
        [DataMemberAttribute()]
        Nullable<global::System.Byte> HydrogenStorage { get; set; }

      
        [DataMemberAttribute()]
        Nullable<global::System.Byte> Foundry { get; set; }

      
        [DataMemberAttribute()]
        Nullable<global::System.Byte> OreMine { get; set; }

        
        [DataMemberAttribute()]
        Nullable<global::System.Byte> CrystalMine { get; set; }

      
        [DataMemberAttribute()]
        Nullable<global::System.Byte> HydrogenSynthesizer { get; set; }

     
        [DataMemberAttribute()]
        Nullable<global::System.Byte> LaserTech { get; set; }

        
        [DataMemberAttribute()]
        Nullable<global::System.Byte> ArmorTech { get; set; }

      
        [DataMemberAttribute()]
        Nullable<global::System.Byte> WeaponsTech { get; set; }

      
        [DataMemberAttribute()]
        Nullable<global::System.Byte> ShieldTech { get; set; }

      
        [DataMemberAttribute()]
        Nullable<global::System.Byte> ParticleTech { get; set; }

       
        [DataMemberAttribute()]
        Nullable<global::System.Byte> JetDrive { get; set; }

       
        [DataMemberAttribute()]
        Nullable<global::System.Byte> AiTech { get; set; }

     
        [DataMemberAttribute()]
        Nullable<global::System.Byte> EnergyTech { get; set; }

      
        [DataMemberAttribute()]
        Nullable<global::System.Byte> EspionageTech { get; set; }

     
        [DataMemberAttribute()]
        Nullable<global::System.Byte> PulseDrive { get; set; }

       
        [DataMemberAttribute()]
        Nullable<global::System.Byte> PlasmaTech { get; set; }

       
        [DataMemberAttribute()]
        Nullable<global::System.Byte> FtlTech { get; set; }

      
        [DataMemberAttribute()]
        Nullable<global::System.Byte> ExpeditionTech { get; set; }

       
        [DataMemberAttribute()]
        Nullable<global::System.Byte> WarpDrive { get; set; }

       
        [DataMemberAttribute()]
        Nullable<global::System.Byte> ARCN { get; set; }

      
        [DataMemberAttribute()]
        Nullable<global::System.Byte> ABMissile { get; set; }

       
        [DataMemberAttribute()]
        Nullable<global::System.Byte> IBMissile { get; set; }

        
        [DataMemberAttribute()]
        Nullable<global::System.Int32> TechsId { get; set; }

       
        [DataMemberAttribute()]
        Nullable<global::System.Int32> BuildingsId { get; set; }

        IEspionageBuilding EspionageBuilding { get; }
    }
}